package com.wxjfkg.workflow.dao;

import java.util.List;
import java.util.Map;

import com.fivestar.workflow.ActPtaskAction;
import com.fivestar.xbk.service.vo.XbkWorkOrderTaskDto;
import com.wxjfkg.ywxt.domain.loan.apply.ProcessFormDto;

public interface XbkWorkOrderTaskDao {

	/**
	 * 创建
	 * @param personalTask
	 */
	public void saveXbkPersonalTasksVO(XbkWorkOrderTaskDto personalTask);

	/**
	 * 批量保存
	 * @param actions
	 */
	public void insertActPtaskAction(List<ActPtaskAction> actions);

	/**
	 * 处理待办,更新状态为已办
	 * @param zPersonalTasks
	 */
	public void completeActPersonalTasksVO(XbkWorkOrderTaskDto zPersonalTasks);
	/**
	 * 查询信息
	 * @param zPersonalTasks
	 * @return
	 */
	public XbkWorkOrderTaskDto selectXbkWorkOrderTaskDto(XbkWorkOrderTaskDto zPersonalTasks);

	/**
	 * 删除其他待办
	 * @param deleteTask
	 */
	public void deleteActPersonalTasksVO(XbkWorkOrderTaskDto deleteTask);

	/**
	 * 查询待办的操作按钮信息Action
	 * @param task
	 * @return
	 */
	public List<ActPtaskAction> selectXbkWorkOrderTaskAction(XbkWorkOrderTaskDto task);

	/**
	 * 分页查询待办任务
	 * @param queryForm
	 * @return
	 */
	public List<XbkWorkOrderTaskDto> queryPersonalTask(XbkWorkOrderTaskDto queryForm);

	/**
	 * 查询待办任务数
	 * @param personalTask
	 * @return
	 */
	public int isPersonalTaskExists(XbkWorkOrderTaskDto personalTask);

	/**
	 * 查询信息
	 * @param zPersonalTasks
	 * @return
	 */
	public XbkWorkOrderTaskDto selectTaskByPk(XbkWorkOrderTaskDto zPersonalTasks);

	/**
	 * 保存动态表单信息
	 * 
	 * @author zyq 
	 * @param from 
	 * @since JDK 1.8
	 */
	public void saveProcessForm(ProcessFormDto from);
	
	/**
	 * 查詢动态表单信息
	 * 
	 * @author zyq 
	 * @param from 
	 * @since JDK 1.8
	 */
	public ProcessFormDto selectTaskProcessForm(ProcessFormDto form);

	public void setFormInputValue(ProcessFormDto form);

	public List<ProcessFormDto> selectTaskProcessFormInput(ProcessFormDto form);

	public int updateBySql(Map<String, String> sqlMap);

	public int isPersonalTaskExistsUserIdAndTaskId(XbkWorkOrderTaskDto personalTask);

}
